/*************************************************************************
	> File Name: 003.sunday.cpp
	> Author: Maureen 
	> Mail: Maureen@qq.com 
	> Created Time: 二  2/23 18:44:35 2021
 ************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int sunday(const char *s, const char *t) {
    int len_s = strlen(s);
    int len_t = strlen(t);

    int offset[256];
    //初始化，假设所有字符都没有出现过，所以都位于模式串的虚拟字符位，即倒数第len_t + 1处
    for (int i = 0; i < 256; i++) offset[i] = len_t + 1;
    //记录模式串中每个字符位于模式串的倒数第几位
    for (int i = 0; t[i]; i++) offset[t[i]] = len_t - i;
    //黄金对齐点：母串i位置匹配失败，则黄金对齐点就是i+n位置，i+n位置的字符位于模式串的倒数第几位，模式串就向后移动多少位
    for (int i = 0; i + len_t <= len_s; i += offset[s[i + len_t]]) {
        int flag = 1;
        for (int j = 0; t[j] && flag; j++) {
            flag = flag && s[i + j] == t[j];
        }
        if (flag)  return i;
    }
    return -1;
}

int main() {
    char s[100], t[100];
    while (~scanf("%s%s", s, t)) {
        printf("sunday(%s, %s) = %d\n", s, t, sunday(s, t));
    }
    return 0;
}
